<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
</head>
<body>
    <script>
        //设置请求拦截器 config配置对象
        axios.interceptors.request.use(
            function(config) {
                console.log('请求截拦器 成功 -1号');
                //修改config中的参数
                config.params={a:100};
                return config;
                //throw '参数出了问题';
            },function(error){
                console.log('请求截拦器 失败 -1号');
                return Promise.reject(error);
            }
        );
        axios.interceptors.request.use(
            function(config) {
                console.log('请求截拦器 成功 -2号');
                //修改config中的参数
                config.timeout=2000;
                return config;
                //throw '参数出了问题';
            },function(error){
                console.log('请求截拦器 失败 -2号');
                return Promise.reject(error);
            }
        );
        //设置响应拦截器
        axios.interceptors.response.use(
            function(resopnse){
                console.log('响应截拦器 成功 -1号');
                return resopnse.data;
                //return resopnse;
            },function(error){
                console.log('响应截拦器 失败 -1号');
                return Promise.reject(error);
            }
        )
        axios.interceptors.response.use(
            function(resopnse){
                console.log('响应截拦器 成功 -2号');
                return resopnse;
            },function(error){
                console.log('响应截拦器 失败 -2号');
                return Promise.reject(error);
            }
        )

        axios.get('http://localhost:3000/posts')
        .then(response => {
            console.log(response);
        }).catch(reason => {
            console.log('自定义回调失败');
        });

        //结果
        //请求截拦器 成功 -2号
        //请求截拦器 成功 -1号
        //响应截拦器 成功 -1号
        //响应截拦器 成功 -2号
        //response
    </script>
</body>
</html>
